"""
@version:python3
@author:ll
@file:03-QObject-定时器的使用.py
@time:2022/2/9 1:32
"""
# 0、导入需要的包和模块
from PyQt5.Qt import *
import sys

class MyQObject(QObject):
    def timerEvent(self, evt):
        print(evt,"1")

class MyQLabel(QLabel):
    def __init__(self,*args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setText("10")
        self.move(100, 100)
        self.setStyleSheet("font-size:22px;")
        self.timer_id = self.startTimer(1000)
    def timerEvent(self, evt):
        # self.setText("9")
        current_sec = int(self.text())
        current_sec -= 1
        self.setText(str(current_sec))
        if current_sec == 0:
            print("停止")
            self.killTimer(self.timer_id)

class MyQWidget(QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.resize(500, 500)
        self.timer_id = self.startTimer(100)

    def timerEvent(self, evt):
        current_w = int(self.width())
        current_h = int(self.height())
        current_w += 1
        current_h += 1
        self.resize(current_w,current_h)
# 1、创建一个应用程序对象
app = QApplication(sys.argv)

# 2、控件操作
# 创建控件、设置控件、事件和信号的处理
# 2.1 创建控件
window = MyQWidget()
# 2.2 设置控件
window.setWindowTitle("定时器的使用")


# obj = MyQObject()
# time_id = obj.startTimer(1000) # 每隔1000毫秒执行一次obj内部的timerEvent
# obj.killTimer(time_id)

# label = MyQLabel(window)


# 2.3 展示控件
window.show()

# 3、应用程序的执行，进入到消息循环
sys.exit(app.exec_())

